package whf.framework.meta.entity;


/**
 * @author wanghaifeng
 *
 */
public abstract interface IReadonlyProperty {
	
	/**
	 * 属性名称
	 * @modify wanghaifeng Jan 29, 2007 9:36:39 AM
	 * @return
	 */
	public String getName();
	
	/**
	 * @return property data type
	 */
	public String getDataType();

	/**
	 * @return property display title;
	 */
	public String getDisplayTitle() ;

	/**
	 * @return display width
	 * 显示宽度
	 */
	public int getDisplayWidth();
	
	/**
	 * @return display type, such as text, select etc.
	 */
	public String getDisplayType() ;
	
	/**
	 * @return property is visible when display
	 */
	public boolean isVisible();
	
	//The max value and the min value
	public String getMaxValue();
	
	public String getMinValue();
	
	//property is required
	public boolean isRequired();
	
	//if String, maxLength;
	public int getMaxLength();
	
	//if bo, use query string search objects;
	/**
	 * @modify wanghaifeng Sep 29, 2006 1:14:56 PM
	 * @return 缺省指的是过滤字符串,但是如果使用#开头表示系统保留对象
	 */
	public String getQueryString();
	
	//use as property values; 2006-07-11
	public String getDictCategoryCode();
	
	//use as text area  2006-07-11
	public boolean isAllowMultiRows();
	
	//use as html attributes,such as cols='2' rows='2' etc.  2006-07-11
	public String getHtmlAttributes();
	
	//hyper link 2006-07-11
	public String getHyperLink();
	
	//java script function
	public String getJsFunction();
	
	/**
	 * @return 同一个属性在同一个定制中不同的展现
	 */
	public int getVisibleLevel();
	
	/**
	 * @return 根据外部条件，不同的条件下展现不同的编辑可能
	 */
	public int getEditableLevel();
	
	public int getColspan();
	
	//query condition
	public boolean isQueryCondition();
	
	//设置此属性后，列表中将可以显示，但是在编辑过程将不能显示；
	public boolean isReadonly();
	
	//是否枚举选项
	/**
	 * 当枚举对象时,如果displayType=select,界面采用<select>方式展现
	 * @modify wanghaifeng Sep 29, 2006 1:16:25 PM
	 * @return
	 */
	public boolean isEnumSelections();
	
	public boolean isViewObjectDetail();
	
	public String getRemarks();

	//验证用正则表达式
	public String getRegexPattern();
	
	//正则表达式例子
	public String getRegexPatternSample();
}
